草庐IT

CoffeeScript 中的 Node.js module.exports

全部标签

javascript - NodeJS - Jest 单元测试 process.on 回调中的 setTimeout

我正在尝试在我的process.on('SIGTERM')回调中使用Jest对计时器进行单元测试,但它似乎从未被调用过。我正在使用jest.useFakeTimers()虽然它似乎在一定程度上模拟了setTimeout调用,但它并没有在setTimeout.mock中结束检查时对象。我的index.js文件:process.on('SIGTERM',()=>{console.log('GotSIGTERM');setTimeout(()=>{console.log('Timerwasrun');},300);});setTimeout(()=>{console.log('Timer2w

javascript - 在 React DnD drop 中获取 DOM 中的元素位置?

我正在使用ReactDnD和Redux(使用Kea)构建一个表单生成器。我的拖放部分工作得很好,我已经设法在元素掉落时分派(dispatch)一个Action,然后我使用分派(dispatch)改变的状态渲染构建器。但是,为了以正确的顺序呈现元素,我(认为我)需要保存丢弃的元素相对于它的sibling的位置,但我无法找出任何不是绝对疯狂的东西。我已经尝试过使用refs并使用唯一ID查询DOM(我知道我不应该这样做),但是这两种方法都感觉很糟糕,甚至都不起作用。这是我的应用程序结构的简化表示:@DragDropContext(HTML5Backend)@connect({/*reduxt

javascript - 为什么+=(加法赋值,加上等于)在 Node 中这么慢?

这个问题在这里已经有了答案:Whatdoescompoundlet/constassignmentmean?(1个回答)关闭5年前。在某些版本的node中,a+=b明显比a=a+b慢,但在浏览器和更高版本中类似。是什么导致它们运行如此不同?nodev6.10.0(V85.1.281.93),慢75%,或者反向快4倍nodev8.0.0(V85.8.283.41),慢86%,或者反向快7倍nodev8.2.1(V85.8.283.41),慢86%,或者反向快7倍nodev8.3.0(V86.0.286.52),类似nodev8.7.0(v86.1.534.42),类似nodev8.9.2

javascript - 使用 Angular 2 和 Node.js 下载不支持 Firefox 的 PDF

我正在从NodeJavaScript后端获取base64字符串。但它不像Chrome那样工作。我在网上找不到任何解决方案。在API调用中获得200状态,但它没有在Firefox中下载文件,而相同的代码在Chrome中运行良好。这是我的代码::staticdownloadFile(fileName:string,fileMimeType:string,uri:string){constdataURI=uri;constblob=this.dataURIToBlob(dataURI);consturl=URL.createObjectURL(blob);constblobAnchor=do

javascript - Yarn Workspaces 和 Browserify - 子文件夹中的 package.json 破坏了构建

我的最终目标是在使用Browserify和Babel7的项目中使用YarnWorkspaces。这是我遇到的问题的最小重现。基本上,子文件夹中存在package.json文件(这是使用YarnWorkspaces时所拥有的东西之一)似乎破坏了我的Browserify构建,我不知道为什么。Here'saGitHubrepowithaminimalreproductionoftheproblem.首先,安装依赖项(你可以使用yarn或npm,无所谓):$npminstall然后确认Browserify+Babel构建有效:$npmrunbuild>browserify-babelify-y

javascript - 如何让 ESLint 对 VSCode 中的 HTML 文件进行 lint?

我有一个Javascript浏览器项目拆分为多个文件,无法让ESLint在相同的全局范围内检查我的HTML文件的脚本标签,以便在一个文件中声明和调用类和函数可以在另一个文件中识别。这是我的项目结构:这是foo.js的内容:sayHello();和bar.js:functionsayHello(){console.log('Hello');}我已经在HTML文件中链接了它们:我认为解决这个问题的方法是使用eslint-plugin-html包,但尝试配置它却没有成功。这些是我在项目本地安装的包:Alexs-MacBook-Pro:Demoalexmcdermott$npmlist--de

javascript - 掌握 JavaScript 中的事件监听

上周我们在上周左右的修补和测试后将Omniture的分析代码发布到大量网站上。在我们几乎所有的网站模板上,它都运行良好。在一些零星的、不可预测的情况下,严重的浏览器崩溃体验可能会让一些用户望而却步。此时我们无法看到崩溃模板之间的关系,虽然有很多方法可以解决问题,但让我们感到困惑的是事件监听器。单击这些模板上的任何anchor时,网站会崩溃。没有任何内联JS,虽然我们通过HTML的属性进行了调试,但我们找不到可识别的循环或会导致此问题的问题。(在我们进行故障排除时,您可以亲body验here[警告!单击页面中的任何链接都会导致浏览器崩溃!])如何确定对象是否有监听器?您如何确定触发事件时

javascript - 将键盘事件附加到 HTML 中的 SVG 元素

当在浏览器中运行HTML内的SVG时,无论如何要将textInput或keypress(或实际上任何其他文本输入)事件附加到SVG元素?我可以将事件处理程序附加到document.documentElement,但是当我通过任何机制将事件处理程序附加到任何类型的SVGElement时,没有任何反应......SVG,g,rect......我从SVG规范中看到这不受支持(W3SVGlistofevents),但是是否有任何浏览器支持任何“附加功能”?我无法在Chrome或Firefox上运行以下内容...Keyeventtestbody,html{margin:0;padding:0;

javascript - node.js 白板应用程序的客户端或服务器端 HTML5 Canvas 渲染?

我在想一个小的白板网络应用程序会是提高我的node.js和JavaScript技能的好方法。我在网上看到了一些,这很有意义,因为它似乎非常适合这种堆栈。不过,花点时间想想,我想知道客户端和服务器在这种Web应用程序中的Angular色。跌跌撞撞node-canvas,我变得更加糊涂了。客户端和服务器具体应该负责什么?如果服务器能够渲染到Canvas,它是否应该接受并验证来自客户端的输入,然后通过socket.io将其广播给所有其他连接的用户??这样,服务器就保留了一个master-canvas元素。新用户连接后,服务器只需向客户端推出其Canvas-使其与已绘制的内容同步。任何关于实现

javascript - 是否有任何解决方法可以重新抛出异常并保留 Javascript 中的堆栈跟踪?

我知道Chrome有一个knownbug在Javascript中重新抛出异常时不保留堆栈跟踪。我在Chrome中运行了以下代码:try{try{runCodeThatMayThrowAnException();}catch(e){//I'mhandingtheexceptionhere(displayinganicemessageorwhatever)//NowIwanttorethrowtheexceptionthrow(e);}}catch(e){//Thestacktracewaslosthere:(}有什么方法可以保留堆栈跟踪吗?也许是一个jQuery插件?任何解决方法或想法?